1. Field of the Invention
The present invention relates to a quantizer for compressing an information amount by using a code table having a limited number (N) of code words and also relates to an inverse-quantizer.
2. Description of the Prior Art
As a system for compressing an input vector such as a parameter indicative of a voice frequency spectral feature, figure pattern, or the like into a small information amount, a vector quantizing method has been known whereby a code table having a limited number (N) of code words is prepared, the code word which is closest to the input vector is selected from among the N code words, and the input vector is expressed by only the code number. According to the above vector quantizing method, the information amount can be fairly effectively compressed for the input vector such as a voice spectral feature parameter, figure information, or the like in which there is the correlation among the components in the vector. Typical examples of the quantizer and inverse-quantizer using the conventional vector quantizing method can be seen in FIGS. 2 and 3 of the following literature 1.
A. Buzo, A. H. Gray, Jr., R. M. Gray and J. D. Markel, "Speech Coding Based upon Vector Quantization", IEEE Transactions on ASSP, Vol. 28, No. 5, pp. 562-574, 1980.
In the literature 1, the input voice signal is expressed by a vocal sound vector indicative of the frequency spectral feature, amplitude information, pitch period, and voiced sound/voiceless sound information, the information amount of the vocal sound vector is compressed by using the vector quantizing method, and the other information amounts are compressed by using a one-dimensional vector quantizing method, that is, a scalar quantizing method. FIGS. 5 and 6 show constructions of a quantizer and an inverse-quantizer for executing the quantization and inverse-quantization of the vocal sound vector (hereinafter referred to as an input vector) and amplitude information which have been disclosed in the literature 1. In the diagrams, reference numeral 1 denotes an input vector input terminal; 2 indicates an amplitude information input terminal; 3 and 23 code tables each comprising the limited number (N) of code words; 6 vector quantizing means; 10 amplitude information quantizing means; 11 a code number transmission path; 12 a quantization amplitude information transmission path; 26 an inverse-vector quantizing means; 28 an amplitude information inverse-quantizing means; 29 an output vector output terminal; and 30 an amplitude information output terminal.
The operation of the above conventional example will be described. First, an input vector X is inputted to the vector quantizing means 6 in the quantizer through the input vector input terminal 1. The vector quantizing means 6 calculates the distances {d(X, C.sub.i).vertline.i=1, . . . , N} between the input vector X and the N code words {C.sub.i .vertline.i=1, . . . , N} in the code table 3, respectively, and outputs the code number of the optimum vector code word which gives the minimum distance among them to the inverse-vector quantizing means 26 in the inverse-quantizer through the code number transmission path 11. The distance function d defines the evaluation degree of the vector quantization distortion and the absolute value distance, Euclid distance, or the like is used. The inverse-vector quantizing means 26, outputs the code word which is designated by the code number inputted from the code table 23 through the output vector output terminal 29. At this time, the above minimum distance corresponds to the quantization distortion of the quantizer/inverse-quantizer to the present input vector. As its value is small, the quantizer/inverse-quantizer can be regarded to be good. On the other hand, the amplitude information is inputted to the amplitude information quantizing means 10 in the quantizer through the amplitude information input terminal 2. The amplitude information quantizing means 10 quantizes the input amplitude information and outputs the result to the amplitude information inverse-quantizing means 28 in the inverse-quantizer through the quantization amplitude information transmission path 12. The amplitude information inverse-quantizing means 28 inverse-quantizes the amplitude information and outputs the result through the amplitude information output terminal 30.
The characteristic which is required for the quantizer/inverse-quantizer is such that the average quantization distortion is minimized for various input series. A consideration will now be made with respect to the case where the vocal sound vector of a voice and figure pattern information are used as an input series. For those input vectors, there are two cases where they greatly change and where they are relatively stable when they are monitored with the elapse of time. However, so long as they are relatively stable, the conventional quantizer/inverse-quantizer are not the optimum quantizer/inverse-quantizer which gives the minimum quantization distortion. As a system for realizing the further smaller average quantization distortion as compared with that in the conventional quantizer/inverse-quantizer, there quantizer/inverse-quantizer have been known which use the predictive error vector quantizing method whereby the present input vector is predicted by using the result of the past quantization and an error of the predictive value to the input vector is quantized. For the relatively stable input vector series, the quantization distortion which is obtained by the conventional quantizer/inverse-quantizer continues as an almost constant value and does not decrease further. However, as compared with its, according to the quantizer/inverse-quantizer using the predictive error vector quantizing method, the quantization distortion gradually decreases with the elapse of time. From the above fact, for the input vector series having few changes, the quantizer/inverse-quantizer using the predictive error vector quantizing method can be regarded as better. However, for the input vector series which greatly change, the quantizer/inverse-quantizer using the predictive error vector quantizing method gives a larger quantization distortion as compared with that of the conventional quantizer/inverse-quantizer and have a drawback such that in many cases, the average quantization distortion for various input vectors finally becomes large.
On the other hand, when considering the case of simultaneously compressing auxiliary information such as amplitude information or the like, in addition to the input vector, as in the conventional example, there is a case where the change in auxiliary information is small and there is no need to particularly transmit it. In such a case, it is considered to be effective that the information amount which is used for the auxiliary information is added and used for quantization of the input vector. However, in the conventional quantizer/inverse-quantizer, since the input vector and the auxiliary information are independently quantized, the optimum quantization according to the input as mentioned above, cannot be executed.
On the other hand, if a large number of learning input vectors can be preliminarily obtained, by previously obtaining the optimum code table for the learning input vectors, a high efficient vector quantization can be realized. Conversely, if the learning input vectors cannot be previously obtained, it is necessary to use a method whereby the optimum code table is obtained as the vector to be quantized is inputted. Such a method is called an adaptation of the code table. For instance, in the case of quantizing the spectral feature parameter vector of the voice, many voices generated by a number of speakers are analyzed and a set of spectral feature parameter vectors are obtained, and the optimum code table is obtained from those vectors by using a method called a clustering method. In such spectral feature parameters, since the difference of the correlation among the components is large for every speaker, if the optimum code table is previously obtained for each speaker, the quantizing efficiency is fairly good. However, it is practically impossible to prepare individual code tables for all of the speakers. Even in such a case, it is also effective to use the adaptation of the code tables such that a common code table which was obtained from a number of speakers is first used and is then gradually adapted to the present speakers.
As a typical example of the adaptive method of the code table, the following literature 2 is known.
Yoshinao Shiraki and Masaaki Honda, "The Application of the Segment Movement Vector Quantizing Method to the Adaptation to Speaker", Acoustical Society of Japan, papers of the lecture of Spring Study Publishment Conference, pp. 123-124, 1988.
In the literature 2, code table updating information comprising segment movement vectors is calculated by using a set of about 100 to 1000 input vectors and the adapting process of the common code table is executed by using it.
FIG. 7 shows a construction of an input adaptive type quantizer disclosed in the literature 2. In the diagram, reference numeral 31 denotes a quantizer; 33 a vector input terminal; 34 a code table comprising a limited number (N) of code words which were calculated by using the voices of a number of speakers; 37 vector quantizing means; 40 analyzing means; 41 converting means; and 42 a code number transmission path. The operations of the above conventional example will now be described. First, the input vector X is inputted to the vector quantizing means 37 and analyzing means 40 in the quantizer 31 through the vector input terminal 33. The analyzing means 40 analyzes the past input vectors and calculates the segment movement vectors to make the code table 34 adapted for the past input vectors and outputs to the converting means 41. The vector quantizing means 37 calculates the distances {d(X, C.sub.i ').vertline.i=1, . . . , N} between the input vector X and the code words {C.sub.i '.vertline.i=1, . . . , N} which are obtained by converting the N code words {C.sub.i .vertline.i=1, . . . , N} in the code table 34 by the converting means 41, respectively, and outputs the code number of the optimum vector code word which gives the minimum distance among them to the code number transmission path 42. The distance function d defines the value to be minimized upon execution of the vector quantization and an absolute value distance, a Euclid distance, or the like is used.
Since the conventional adapting process of the code table uses the input vector itself for analysis, such a process can only be used in the quantizer. In order to allow the inverse-quantizer to have the same adapted code table as that of the quantizer, the result obtained by the analyzing means 40 must be transferred to the inverse-quantizer by some method and the information for adaptation needs to be newly transmitted. There is a drawback such that the conventional adapting process is not suitable for the real-time process as in the voice communication. By analyzing the result of the quantization and obtaining the information for adaptation instead of the input vector itself, simultaneous adaptation for the quantizer and inverse-quantizer can be accomplished. However, in this case, there is a subject such that not only the adaptation speed is slow but also the characteristics of the quantizer after completion of the adaptation are not improved by very much.